package com.zz.ecommerce.pojo;

import com.zz.ecommerce.utils.SqlType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 电子税单表头(未汇总)
 */
public class CbecTax implements Serializable {
    private static final long serialVersionUID = 331669430702584004L;

    /**
     * 唯一主键
     */
    private String id;

    /**
     * 电子税单号清单号-序号（序号从0开始，补税或重开的税单，序号递增）
     */
    private String elistTaxNo;

    /**
     * 电子清单号
     */
    private String elistNo;

    /**
     * 主管海关
     */
    private String customsCode;

    /**
     * 状态,在清单生成缴款书之后，不能进行作废处理  (1-已生成，2-已汇总   3-作废)
     */
    private Short taxStatus;

    /**
     * 担企业保编号（电商企业或平台，申报企业）
     */
    private String assureCode;

    /**
     * 报关企业海关代码，10/18位报关企业备案号
     */
    private String agentCode;

    /**
     * 报关企业名称
     */
    private String agentName;

    /**
     * 电商企业名称
     */
    private String ebcName;

    /**
     * 电商企业备案号
     */
    private String ebcCode;

    /**
     * 消费者姓名
     */
    private String buyerName;

    /**
     * 消费者证件号码
     */
    private String buyerId;

    /**
     * 消费者证件类型
     */
    private String buyerIdType;

    /**
     * 征税总额
     */
    private BigDecimal factTax;

    /**
     * 行邮税税额(兼容)
     */
    private BigDecimal postTax;

    /**
     * 应征关税
     */
    private BigDecimal customsTax;

    /**
     * 应征增值税
     */
    private BigDecimal valueAddedTax;

    /**
     * 应征消费税
     */
    private BigDecimal cunsumptionTax;

    /**
     * 申报日期
     */
    @SqlType(type = "date", format = "yyyy-mm-dd hh24:mi:ss", qryStart = "declDateStart", qryEnd = "declDateEnd")
    private String declDate;

    @SqlType(inTable = false, type = "date", format = "yyyy-MM-dd hh24:mi:ss")
    private String declDateStart;

    @SqlType(inTable = false, type = "date", format = "yyyy-MM-dd hh24:mi:ss")
    private String declDateEnd;

    /**
     * 备注
     */
    private String note;

    /**
     * 作废日期
     */
    @SqlType(type = "date", format = "yyyy-mm-dd hh24:mi:ss")
    private String cancelDate;

    /**
     * 作废员姓名
     */
    private String cancelUserName;

    /**
     * 作废员全路径
     */
    private String cancelUserFullpath;

    /**
     * 作废类型
     */
    private String cancelType;

    /**
     * 作废原因
     */
    private String cancelNote;

    /**
     * 缴款书编号
     */
    private String entDutyNo;

    /**
     * 物流企业代码
     */
    private String logisticsCode;

    /**
     * 运单号
     */
    private String logisticsNo;

    /**
     * (总)提运单号
     */
    private String billNo;

    /**
     * 生成回执时间
     */
    @SqlType(type = "date", format = "yyyy-mm-dd hh24:mi:ss")
    private String replyDate;

    /**
     * 回执状态（0=已生成，1=未生成）
     */
    private Short replyStatus;

    /**
     * 创建时间
     */
    @SqlType(type = "date", format = "yyyy-mm-dd hh24:mi:ss")
    private String createDate;

    /**
     * 直属关区代码
     */
    private String districtCustoms;

    /**
     * @return 唯一主键
     */
    public String getId() {
        return id;
    }

    /**
     * @param id 唯一主键
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return 电子税单号清单号-序号（序号从0开始，补税或重开的税单，序号递增）
     */
    public String getElistTaxNo() {
        return elistTaxNo;
    }

    /**
     * @param elistTaxNo 电子税单号清单号-序号（序号从0开始，补税或重开的税单，序号递增）
     */
    public void setElistTaxNo(String elistTaxNo) {
        this.elistTaxNo = elistTaxNo;
    }

    /**
     * @return 电子清单号
     */
    public String getElistNo() {
        return elistNo;
    }

    /**
     * @param elistNo 电子清单号
     */
    public void setElistNo(String elistNo) {
        this.elistNo = elistNo;
    }

    /**
     * @return 主管海关
     */
    public String getCustomsCode() {
        return customsCode;
    }

    /**
     * @param customsCode 主管海关
     */
    public void setCustomsCode(String customsCode) {
        this.customsCode = customsCode;
    }

    /**
     * @return 状态, 在清单生成缴款书之后，不能进行作废处理  (1-已生成，2-已汇总   3-作废)
     */
    public Short getTaxStatus() {
        return taxStatus;
    }

    /**
     * @param taxStatus 状态,在清单生成缴款书之后，不能进行作废处理  (1-已生成，2-已汇总   3-作废)
     */
    public void setTaxStatus(Short taxStatus) {
        this.taxStatus = taxStatus;
    }

    /**
     * @return 担企业保编号（电商企业或平台，申报企业）
     */
    public String getAssureCode() {
        return assureCode;
    }

    /**
     * @param assureCode 担企业保编号（电商企业或平台，申报企业）
     */
    public void setAssureCode(String assureCode) {
        this.assureCode = assureCode;
    }

    /**
     * @return 报关企业海关代码，10/18位报关企业备案号
     */
    public String getAgentCode() {
        return agentCode;
    }

    /**
     * @param agentCode 报关企业海关代码，10/18位报关企业备案号
     */
    public void setAgentCode(String agentCode) {
        this.agentCode = agentCode;
    }

    /**
     * @return 报关企业名称
     */
    public String getAgentName() {
        return agentName;
    }

    /**
     * @param agentName 报关企业名称
     */
    public void setAgentName(String agentName) {
        this.agentName = agentName;
    }

    /**
     * @return 电商企业名称
     */
    public String getEbcName() {
        return ebcName;
    }

    /**
     * @param ebcName 电商企业名称
     */
    public void setEbcName(String ebcName) {
        this.ebcName = ebcName;
    }

    /**
     * @return 电商企业备案号
     */
    public String getEbcCode() {
        return ebcCode;
    }

    /**
     * @param ebcCode 电商企业备案号
     */
    public void setEbcCode(String ebcCode) {
        this.ebcCode = ebcCode;
    }

    /**
     * @return 消费者姓名
     */
    public String getBuyerName() {
        return buyerName;
    }

    /**
     * @param buyerName 消费者姓名
     */
    public void setBuyerName(String buyerName) {
        this.buyerName = buyerName;
    }

    /**
     * @return 消费者证件号码
     */
    public String getBuyerId() {
        return buyerId;
    }

    /**
     * @param buyerId 消费者证件号码
     */
    public void setBuyerId(String buyerId) {
        this.buyerId = buyerId;
    }

    /**
     * @return 消费者证件类型
     */
    public String getBuyerIdType() {
        return buyerIdType;
    }

    /**
     * @param buyerIdType 消费者证件类型
     */
    public void setBuyerIdType(String buyerIdType) {
        this.buyerIdType = buyerIdType;
    }

    /**
     * @return 征税总额
     */
    public BigDecimal getFactTax() {
        return factTax;
    }

    /**
     * @param factTax 征税总额
     */
    public void setFactTax(BigDecimal factTax) {
        this.factTax = factTax;
    }

    /**
     * @return 行邮税税额(兼容)
     */
    public BigDecimal getPostTax() {
        return postTax;
    }

    /**
     * @param postTax 行邮税税额(兼容)
     */
    public void setPostTax(BigDecimal postTax) {
        this.postTax = postTax;
    }

    /**
     * @return 应征关税
     */
    public BigDecimal getCustomsTax() {
        return customsTax;
    }

    /**
     * @param customsTax 应征关税
     */
    public void setCustomsTax(BigDecimal customsTax) {
        this.customsTax = customsTax;
    }

    /**
     * @return 应征增值税
     */
    public BigDecimal getValueAddedTax() {
        return valueAddedTax;
    }

    /**
     * @param valueAddedTax 应征增值税
     */
    public void setValueAddedTax(BigDecimal valueAddedTax) {
        this.valueAddedTax = valueAddedTax;
    }

    /**
     * @return 应征消费税
     */
    public BigDecimal getCunsumptionTax() {
        return cunsumptionTax;
    }

    /**
     * @param cunsumptionTax 应征消费税
     */
    public void setCunsumptionTax(BigDecimal cunsumptionTax) {
        this.cunsumptionTax = cunsumptionTax;
    }

    /**
     * @return 申报日期
     */
    public String getDeclDate() {
        return declDate;
    }

    /**
     * @param declDate 申报日期
     */
    public void setDeclDate(String declDate) {
        this.declDate = declDate;
    }

    /**
     * @return 备注
     */
    public String getNote() {
        return note;
    }

    /**
     * @param note 备注
     */
    public void setNote(String note) {
        this.note = note;
    }

    /**
     * @return 作废日期
     */
    public String getCancelDate() {
        return cancelDate;
    }

    /**
     * @param cancelDate 作废日期
     */
    public void setCancelDate(String cancelDate) {
        this.cancelDate = cancelDate;
    }

    /**
     * @return 作废员姓名
     */
    public String getCancelUserName() {
        return cancelUserName;
    }

    /**
     * @param cancelUserName 作废员姓名
     */
    public void setCancelUserName(String cancelUserName) {
        this.cancelUserName = cancelUserName;
    }

    /**
     * @return 作废员全路径
     */
    public String getCancelUserFullpath() {
        return cancelUserFullpath;
    }

    /**
     * @param cancelUserFullpath 作废员全路径
     */
    public void setCancelUserFullpath(String cancelUserFullpath) {
        this.cancelUserFullpath = cancelUserFullpath;
    }

    /**
     * @return 作废类型
     */
    public String getCancelType() {
        return cancelType;
    }

    /**
     * @param cancelType 作废类型
     */
    public void setCancelType(String cancelType) {
        this.cancelType = cancelType;
    }

    /**
     * @return 作废原因
     */
    public String getCancelNote() {
        return cancelNote;
    }

    /**
     * @param cancelNote 作废原因
     */
    public void setCancelNote(String cancelNote) {
        this.cancelNote = cancelNote;
    }

    /**
     * @return 缴款书编号
     */
    public String getEntDutyNo() {
        return entDutyNo;
    }

    /**
     * @param entDutyNo 缴款书编号
     */
    public void setEntDutyNo(String entDutyNo) {
        this.entDutyNo = entDutyNo;
    }

    /**
     * @return 物流企业代码
     */
    public String getLogisticsCode() {
        return logisticsCode;
    }

    /**
     * @param logisticsCode 物流企业代码
     */
    public void setLogisticsCode(String logisticsCode) {
        this.logisticsCode = logisticsCode;
    }

    /**
     * @return 运单号
     */
    public String getLogisticsNo() {
        return logisticsNo;
    }

    /**
     * @param logisticsNo 运单号
     */
    public void setLogisticsNo(String logisticsNo) {
        this.logisticsNo = logisticsNo;
    }

    /**
     * @return (总)提运单号
     */
    public String getBillNo() {
        return billNo;
    }

    /**
     * @param billNo (总)提运单号
     */
    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    /**
     * @return 生成回执时间
     */
    public String getReplyDate() {
        return replyDate;
    }

    /**
     * @param replyDate 生成回执时间
     */
    public void setReplyDate(String replyDate) {
        this.replyDate = replyDate;
    }

    /**
     * @return 回执状态（0=已生成，1=未生成）
     */
    public Short getReplyStatus() {
        return replyStatus;
    }

    /**
     * @param replyStatus 回执状态（0=已生成，1=未生成）
     */
    public void setReplyStatus(Short replyStatus) {
        this.replyStatus = replyStatus;
    }

    /**
     * @return 创建时间
     */
    public String getCreateDate() {
        return createDate;
    }

    /**
     * @param createDate 创建时间
     */
    public void setCreateDate(String createDate) {
        this.createDate = createDate;
    }

    /**
     * @return 直属关区代码
     */
    public String getDistrictCustoms() {
        return districtCustoms;
    }

    /**
     * @param districtCustoms 直属关区代码
     */
    public void setDistrictCustoms(String districtCustoms) {
        this.districtCustoms = districtCustoms;
    }

    public String getDeclDateStart() {
        return declDateStart;
    }

    public void setDeclDateStart(String declDateStart) {
        this.declDateStart = declDateStart;
    }

    public String getDeclDateEnd() {
        return declDateEnd;
    }

    public void setDeclDateEnd(String declDateEnd) {
        this.declDateEnd = declDateEnd;
    }
}